// 绑定
// 在 match 中，若间接地访问一个变量，则不经过重新绑定就无法在分支中再使用它。
// match 提供了 @ 符号来绑定变量到名称：
// `age` 函数，返回一个 `u32` 值。
fn age() -> u32 {
    15
}

#[test]
fn test_binder() {
    println!("Tell me what type of persion you are");

    match age() {
        0 => println!("I haven't celebrated my first birthday yet"),
        n @ 1..=12 => println!("I'm a child of age: {:?}", n),
        n @ 13..=19 => println!("I'm a teen of age: {:?}", n),
        n => println!("I'm an old person of age: {:?}",n)
    }
}